/**
 * <p>Copyright:Copyright(c) 2019</p>
 * <p>Company:Professional</p>
 * <p>Package:com.cesgroup.zw.spring.boot.echarts.component</p>
 * <p>File:Brush.java</p>
 * <p>类更新历史信息</p>
 * @todo chanlong(陈龙) 创建于 May 13, 2019 4:41:43 PM
 */
package com.cesgroup.zw.spring.boot.echarts.component;

import com.cesgroup.zw.spring.boot.charts.model.IComponent;
import com.cesgroup.zw.spring.boot.echarts.enums.BrushType;
import com.cesgroup.zw.spring.boot.echarts.enums.SelectedMode;
import com.cesgroup.zw.spring.boot.echarts.enums.ThrottleType;
import com.cesgroup.zw.spring.boot.echarts.model.style.BrushStyle;
import com.cesgroup.zw.spring.boot.echarts.model.style.RangeStyle;

import lombok.Data;

/**
 * <p>描述: 区域选择组件</p>
 * <p>Company: Professional</p>
 * @author chanlong(陈龙)
 * @date May 13, 2019 4:41:43 PM
 * @version 1.0.2019
 */
@Data @SuppressWarnings("serial") 
public class Brush implements IComponent {
	
	/** 组件id */
	private String id;
	
	/** 组件相关的 toolbox 按钮，[default: ['rect', 'polygon', 'keep', 'clear']] */
	private String[] toolbox;
	
	/** 不同系列间，选中的项可以联动，配置项是一个数组，内容是seriesIndex，还可以是['all'，'none'] */
	private Object brushLink;
	
	/** 指定哪些 series 可以被刷选，[default: 'all'] */
	private Object seriesIndex;
	
	/** 指定哪些 geo 可以被刷选，[default: null] */
	private Object geoIndex;
	
	/** 指定哪些 xAxisIndex 可以被刷选，[default: null] */
	private Object xAxisIndex;
	
	/** 指定哪些 yAxisIndex 可以被刷选，[default: null] */
	private Object yAxisIndex;
	
	/** 选框图标的类型，[default: 'rect'] */
	private BrushType brushType;
	
	/** 选取模式，[default: 'single'] */
	private SelectedMode brushMode;
	
	/** 已经选好的选框是否可以被调整形状或平移，[default: true] */
	private Boolean transformable;
	
	/** 选框的默认样式 */
	private BrushStyle brushStyle; 
	
	/** 刷选或者移动选区时的事件类型，[default: 'fixRate'] */
	private ThrottleType throttleType;
	
	/** 刷选或者移动选区时的延时，[default: 0] */
	private Integer throttleDelay;
	
	/** brushMode 为 'single' 的情况下，是否支持『单击清除所有选框』，[default: true] */
	private Boolean removeOnClick;
	
	/** 定义 <b>在选中范围内</b> 的视觉元素 */
	private RangeStyle inBrush;
	
	/** 定义 <b>在选中范围外</b> 的视觉元素 */
	private RangeStyle outOfBrush;
	
	/** brush 选框的 z-index，[default: 10000] */
	private Integer z;
}
